// 定义一个名为 aGoods 的对象，表示商品信息
let aGoods = {
    pic: '.',
    title: '..',
    desc: `...`,
    sellNumber: 1,
    favorRate: 2,
    price: 3
}

// 定义一个名为 UIGoods 的类
class UIGoods {
    // 构造函数，接收一个 goods 对象作为参数
    constructor(goods) {
        // 使用 Object.defineProperty 定义名为 data 的属性
        Object.defineProperty(this, 'data', {
            configurable: false, // 不可配置，即不能通过 delete 操作符删除属性
            get:function (){ // 取值函数
                return goods;
            },
            set: function (){ // 存值函数
                throw new Error('兄弟，您正在尝试修改 data 属性，这是不可能的！死心吧！')
            }
        })
    }
}
// 创建一个 UIGoods 类的实例，传入 aGoods 对象作为参数
let goods = new UIGoods(aGoods);
// 尝试修改 goods 实例的 data 属性的值
goods.data = 'abc';
// 输出修改后的 goods 实例的 data 属性的值
console.log(goods.data);
